home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
- Network Working Group T J Dimitri
- Internet Draft Microsoft
- expires in six months October 1993
- <draft-ietf-pppext-netbios-fcp-01.txt>
-
- The PPP NetBIOS Frames Control Protocol (NBFCP)
-
-
-
- Status of this Memo
-
- This document is the product of the Point-to-Point Protocol Working
- Group of the Internet Engineering Task Force (IETF). Comments should
- be submitted to the ietf-ppp@ucdavis.edu mailing list.
-
- Distribution of this memo is unlimited.
-
- This document is an Internet Draft. Internet Drafts are working
- documents of the Internet Engineering Task Force (IETF), its Areas,
- and its Working Groups. Note that other groups may also distribute
- working documents as Internet Drafts.
-
- Internet Drafts are draft documents valid for a maximum of six
- months. Internet Drafts may be updated, replaced, or obsoleted by
- other documents at any time. It is not appropriate to use Internet
- Drafts as reference material or to cite them other than as a
- ``working draft'' or ``work in progress.''
-
- Please check the 1id-abstracts.txt listing contained in the
- internet-drafts Shadow Directories on nic.ddn.mil, nnsc.nsf.net,
- nic.nordu.net, ftp.nisc.sri.com, or munnari.oz.au to learn the
- current status of any Internet Draft.
-
- Abstract
-
- The Point-to-Point Protocol (PPP) [1] provides a method for
- transmitting multi-protocol datagrams over point-to-point links. PPP
- defines an extensible Link Control Protocol, and proposes a family of
- Network Control Protocols for establishing and configuring different
- network-layer protocols.
-
- The NBF protocol was originally called the NetBEUI protocol and
- was used in versions of DOS and OS/2 LAN Manager. It is now used
- in Microsoft Windows NT and Microsoft Windows for Workgroups. This
- document defines the Network Control Protocol for establishing and
- configuring the NBF protocol over PPP.
-
-
-
-
-
- Dimitri expires in six months [Page i]
- DRAFT NBFCP October 1993
-
-
- 1. Introduction
-
- PPP has three main components:
-
- 1. A method for encapsulating multi-protocol datagrams.
-
- 2. A Link Control Protocol (LCP) for establishing, configuring,
- and testing the data-link connection.
-
- 3. A family of Network Control Protocols for establishing and
- configuring different network-layer protocols.
-
- In order to establish communications over a point-to-point link, each
- end of the PPP link must first send LCP packets to configure and test
- the data link. After the link has been established and optional
- facilities have been negotiated as needed by the LCP, PPP must send
- NBFCP packets to choose and configure the NBF network-layer protocol.
- Once NBFCP has reached the Opened state, NBF datagrams can be sent
- over the link.
-
- The link will remain configured for communications until explicit LCP
- or NBFCP packets close the link down, or until some external event
- occurs (an inactivity timer expires or network administrator
- intervention).
-
-
- 1.1. Specification of Requirements
-
- In this document, several words are used to signify the requirements
- of the specification. These words are often capitalized.
-
- MUST This word, or the adjective "required", means that the
- definition is an absolute requirement of the specification.
-
- MUST NOT This phrase means that the definition is an absolute
- prohibition of the specification.
-
- SHOULD This word, or the adjective "recommended", means that there
- may exist valid reasons in particular circumstances to
- ignore this item, but the full implications should be
- understood and carefully weighed before choosing a
- different course.
-
- MAY This word, or the adjective "optional", means that this
- item is one of an allowed set of alternatives. An
- implementation which does not include this option MUST be
- prepared to interoperate with another implementation which
- does include the option.
-
-
-
- Dimitri expires in six months [Page 1]
- DRAFT NBFCP October 1993
-
-
- 1.2. Terminology
-
- This document frequently uses the following terms:
-
- peer The other end of the point-to-point link.
-
- silently discard
- This means the implementation discards the packet without
- further processing. The implementation SHOULD provide the
- capability of logging the error, including the contents of
- the silently discarded packet, and SHOULD record the event
- in a statistics counter.
-
- end-system A user's machine. It only sends packets to servers and
- other end-systems. It doesn't pass any packets through
- itself.
-
- router Allows packets to pass through, usually from one ethernet
- segment to another. Sometimes these are called
- "intermediate-systems".
-
- bridge Allows packets to pass through with the data field
- unmodified. Usually from one ethernet segment to another
- or from one ethernet segment to a token-ring segment.
-
- gateway Allows packets to be sent from one network protocol to
- the same or different network protocol. For example,
- NetBIOS packets from an NBF network to a TCP/IP network
- which has implemented RFC 1001 and RFC 1002.
-
-
- 2. A PPP Network Control Protocol for NBF
-
- The NBF Control Protocol (NBFCP) is responsible for configuring,
- enabling, and disabling the NBF protocol modules on both ends of the
- point-to-point link. NBFCP uses the same packet exchange mechanism
- as the Link Control Protocol. NBFCP packets may not be exchanged
- until PPP has reached the Network-Layer Protocol phase. NBFCP
- packets received before this phase is reached should be silently
- discarded.
-
- The NBF Control Protocol is exactly the same as the Link Control
- Protocol [1] with the following exceptions:
-
- Frame Modifications
-
- The packet may utilize any modifications to the basic frame format
- which have been negotiated during the Link Establishment phase.
-
-
-
- Dimitri expires in six months [Page 2]
- DRAFT NBFCP October 1993
-
-
- Data Link Layer Protocol Field
-
- Exactly one NBFCP packet is encapsulated in the Information field
- of a PPP Data Link Layer frame where the Protocol field indicates
- type hex 8039 (NBF Control Protocol).
-
- Code field
-
- Only Codes 1 through 7 (Configure-Request, Configure-Ack,
- Configure-Nak, Configure-Reject, Terminate-Request, Terminate-Ack
- and Code-Reject) are used. Other Codes should be treated as
- unrecognized and should result in Code-Rejects.
-
- Timeouts
-
- NBFCP packets may not be exchanged until PPP has reached the
- Network-Layer Protocol phase. An implementation should be
- prepared to wait for Authentication and Link Quality Determination
- to finish before timing out waiting for a Configure-Ack or other
- response. It is suggested that an implementation give up only
- after user intervention or a configurable amount of time.
-
- Configuration Option Types
-
- NBFCP has a distinct set of Configuration Options.
-
-
-
- 2.1. Sending NBF Datagrams
-
- Before any NBF packets may be communicated, PPP must reach the
- Network-Layer Protocol phase, and the NBF Control Protocol must reach
- the Opened state.
-
- Unlesss otherwise negotiated, exactly one NBF packet is encapsulated
- in the Information field of a PPP Data Link Layer frame where the
- Protocol field indicates type hex 0039 (NBF datagram).
-
- An encapsulated NBF packet for PPP differs from the data field in
- DIX ethernet (RFC 894) because NBF packets do not contain the source,
- destination, or length fields in the datagram packet. Therefore,
- the encapsulated NBF packet contains two extra octets in the
- beginning of the PPP Information field. The most significant bit in
- the first octet indicates whether the frame is directed or multicast.
- The next 15 bits indicate the length of the rest of the NBF packet in
- the Information field.
-
-
-
-
-
- Dimitri expires in six months [Page 3]
- DRAFT NBFCP October 1993
-
-
- A summary of the NBF default encapsulation format is shown below.
- The fields are transmitted from left to right.
-
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- |x| Length | Data ...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
- x
-
- The x field is one bit and indentifies the type of NBF
- packet. The two values for this field are assigned as follows:
-
- 0 NBF directed packet.
- 1 NBF multicast packet (IEEE 6 octet addesss 03-00-00-00-00-01).
-
- Length
-
- The Length field is 15 bits and indicates the length of
- the Data field (excluding the two octets in the x and Length
- fields). The Length field is encoded with the most significant octet first.
- Octets outside the range of the Length field should be treated as
- Data Link Layer padding and should be ignored upon reception.
- When a packet is received with an invalid Length field, the packet
- is silently discarded.
-
- Data
-
- The Data field is zero or more octets as indicated by the Length
- field.
-
-
- The maximum length of an NBF datagram transmitted over a PPP link is
- the same as the maximum length of the Information field of a PPP data
- link layer frame. Since there is no standard method for fragmenting
- and reassembling NBF datagrams, PPP links supporting NBF MUST allow
- at least 578 (576 + 2 for length and type) octets in the information
- field of a data link layer frame. It is recommended that an
- implementation allow 1502 (1500 + 2) octets in the information field.
-
-
-
-
-
-
-
-
-
-
-
- Dimitri expires in six months [Page 4]
- DRAFT NBFCP October 1993
-
-
- 3. NBFCP Configuration Options
-
- NBFCP Configuration Options allow modifications to the standard
- characteristics of the network-layer protocol to be negotiated. If a
- Configuration Option is not included in a Configure-Request packet,
- the default value for that Configuration Option is assumed.
-
- NBFCP uses the same Configuration Option format defined for LCP [1],
- with a separate set of Options.
-
- Up-to-date values of the NBFCP Option Type field are specified in the
- most recent "Assigned Numbers" RFC [2]. Current values are assigned
- as follows:
-
- 1 Name-Projection
- 2 Peer-Information
- 3 Multicast-Filtering
-
-
- 3.1. Name-Projection
-
- Description
-
- This Configuration Option provides a method for the peer to
- provide the other peer of hte NetBIOS names on its network. The
- sender of the Configure-Request states which NetBIOS names should
- be added by the remote peer. More than one Name-Projection option
- MAY appear in a single Configure-Request.
-
- Implementations which do not attempt to add any NetBIOS names MUST
- Configure-Reject the Name-Projection Configuration Option.
-
- NetBIOS Gateway implementations which attempt to add NetBIOS
- names MUST respond with Configure-Ack even if no NetBIOS names
- were successfully added. The Configure-Ack packet MUST contain
- a zero in the Added field if the NetBIOS name was added
- successfully and MUST contain the appropriate non-zero return
- code if the NetBIOS name could not be successfully added.
-
- The implementation may choose to fail configuration if the
- complete list of NetBIOS names is not accepted. By failing,
- the implementation should terminate NBFCP by sending a
- Terminate-Request packet.
-
- Because adding NetBIOS names can take time and because PPP
- defaults the restart timer to 3 seconds, the restart timer
- SHOULD default to 10 seconds when configuring NetBIOS names.
-
-
-
-
- Dimitri expires in six months [Page 5]
- DRAFT NBFCP October 1993
-
-
- A summary of the Name-Projection Configuration Option format is
- shown below. The fields are transmitted from left to right.
-
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | 1st NetBIOS-Name
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | 1st NetBIOS-Name (cont.)
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | 1st NetBIOS-Name (cont.)
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | 1st NetBIOS-Name (cont.)
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | 1st NetBIOS-Name (cont.) | Added |2nd NetBIOS Name...
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
-
- Type
-
- 1
-
- Length
-
- 2 + (Number of NetBIOS names * 17)
-
- NetBIOS-Names
-
- This group of zero or more sixteen octet NetBIOS-Name fields
- contains a list of all the NetBIOS names the peer wishes to add to
- the remote network if the packet is Configure-Request. If the
- packet is Configure-Reject, the peer does not support this
- configuration option and it can be assumed that no NetBIOS names
- were added.
-
- Because the length field is only one octet only 14 NetBIOS names
- can be added per Configure-Request packet. If more than 14
- NetBIOS names should be added, more than one Name-Projection
- Request packet will have to be sent.
-
-
-
-
-
-
-
-
-
-
-
-
- Dimitri expires in six months [Page 6]
- DRAFT NBFCP October 1993
-
-
- Added
-
- This is a one octet field which plays a dual role. The Added
- field in the Name-Projection Request packet contains the type of
- NetBIOS name added. A summary of name types is listed below.
-
- 01 Unique Name.
- 02 Group Name.
-
- If the packet is NOT a Configure-Request the Added field contains
- the NetBIOS return code for the NetBIOS Add Name or NetBIOS Add
- Group Name command as defined in the NetBIOS 3.0 specification
- [3]. A summary of common result codes is listed below in type
- hex.
-
- 0D Duplicate name in local name table.
- 0E Name table full.
- 15 Name not found or cannot specify "*" or null.
- 16 Name in use on remote NetBIOS.
- 19 Name conflict detected.
- 30 Name defined by another environment.
- 35 Required system resources exhausted.
-
- 3.2. Peer-Information
-
- Description
-
- This Configuration Option provides a way to obtain information
- about the peer providing the one side of the PPP connection.
-
- The nature of this option is advisory only. It is provided as a
- means of improving an end system's ability to provide information
- from peer to peer about one side of the PPP connection for User
- Interface or Logging purposes.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Dimitri expires in six months [Page 7]
- DRAFT NBFCP October 1993
-
-
- A summary of the Peer-Information Option format is shown below. The
- fields are transmitted from left to right.
-
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Peer-class |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Peer-version (major) | Peer-version (minor) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Peer-name
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Peer-name (cont.)
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Peer-name (cont.)
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Peer-name (cont.) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
-
- Type
-
- 2
-
- Length
-
- >=6
-
- Peer-class
-
- The Peer-class field is two octets and indicates the class
- of the communication peer providing the one side of the
- PPP connection. This two octet quantity represents a 16 bit
- unsigned number sent with the most significant octet first.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Dimitri expires in six months [Page 8]
- DRAFT NBFCP October 1993
-
-
- Initial values are assigned as follows:
-
- Value Class
-
- 1 Microsoft PPP NetBIOS Gateway Dial-In Server.
-
- 2 Generic PPP NetBIOS Gateway Dial-In Server.
-
- 3 Microsoft PPP Local Access Only Server.
-
- 4 Generic PPP Local Access Only Server.
-
- 5 Reserved.
-
- 6 Generic PPP NBF bridge.
-
- 7 Microsoft PPP Client.
-
- 8 Generic PP Client.
-
- Peer-version
-
- The Peer-version field is four octets and indicates the version of
- the communication peer providing one side of the PPP connection.
- The first two octets are the major version number and the last two
- octets are the minor version number. The major and minor version
- represent a 16 bit unsigned number sent with the most significant
- octet first.
-
- Peer-name
-
- The 16-octet NetBIOS name of the peer. If the length field
- is 6, no peer name is provided.
-
-
- 3.3. Multicast-Filtering
-
- Description
-
- This Configuration Option provides a way to negotiate the use of
- the Multicast-Forward-Period and the Multicast-Priority. This
- Configuration Option provides a way to negotiate how to handle
- mulicast packets. It allows the sender of the Configure-Request
- to state the current handling of multicast packets. The peer can
- request parameters by NAKing the option, and returning valid
- Multicast-Filtering parameters.
-
- If negotiation about the remote Multicast-Filtering is required,
- and the peer did not provide the option in its Configure-Request,
- the option SHOULD be appended to a Configure-Nak.
-
- Dimitri expires in six months [Page 9]
- DRAFT NBFCP October 1993
-
-
- By default, the peer is pre-configured to an administrator
- assigned Multicast-Forward-Period and Priority. A
- Multicast-Forward-Period specified as hex type FFFF in a
- Configure-Request shall be interpreted as requesting the remote
- peer to specify a value via Configure-Nak. A
- Multicast-Forward-Period value specified as hex type FFFF in
- Configure-Nak shall be interpreted as agreement that no value
- exists. A Multicast-Forward-Period of zero shall indicate that
- all multicast packets SHOULD be forwarded.
-
- An implementation which requires the Requested Multi-Filtering
- option SHOULD fail configuration if the remote peer fails to
- provide the requested value.
-
- Peers that rely on all multicast packets forwarded SHOULD
- request a Multicast-Forward-Period of zero and a
- Multicast-Priority of one by NAKing the Configure-Request
- option and appending the proper parameters to a Configure-Nak.
-
-
- A summary of the Multicast-Filtering Configuration Option format is
- shown below. The fields are transmitted from left to right.
-
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Type | Length | Multicast-Forward-Period |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Priority |
- +-+-+-+-+-+-+-+-+
-
-
- Type
-
- 4
-
- Length
-
- 6
-
-
-
-
-
-
-
-
-
-
-
-
- Dimitri expires in six months [Page 10]
- DRAFT NBFCP October 1993
-
-
- Multicast-Forward-Period
-
- The Multicast-Forward-Period field is two octets and indicates
- the maximum period in seconds at which multicast packets can
- be sent. The maximum value for this field is 60 (one minute).
- A value of zero indicates that there is no maximum period at
- which multicast packets can be sent. A value of hex type FFFF
- indicates that the Multicast-Forward-Period is unknown. This two
- octet quantity represents a 16 bit unsigned number sent with
- the most significant octet first.
-
-
- Priority
-
- The Priority field is two octets and indicates if multicast
- packets have priority over other packets when being sent. A value
- of 0 indicates that directed packets have priority. A value of 1
- indicates that multicast packets have priority.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Dimitri expires in six months [Page 11]
- DRAFT NBFCP October 1993
-
-
-
-
-
-
- Security Considerations
-
- Security issues are not discussed in this memo.
-
-
- References
-
- [1] Simpson, W. A., "The Point-to-Point Protocol (PPP)", RFC 1331,
- May 1992.
-
- [2] Reynolds, J.K., Postel, J.B., "Assigned Numbers", RFC 1340,
- July 1992.
-
- [3] IBM Corp., "IBM Local Area Network Technical Reference",
- Third Edition, November 1988.
-
- Acknowledgments
-
- Some of the text in this document is taken from previous documents
- produced by the Point-to-Point Protocol Working Group of the Internet
- Engineering Task Force (IETF).
-
- This document is derivative of drafts written by the following
- people. Many thanks for their work, and for taking an initial stab
- at the protocol:
-
- TBA.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Dimitri expires in six months [Page 12]
- DRAFT NBFCP October 1993
-
-
- Chair's Address
-
- The working group can be contacted via the current chair:
-
- Fred Baker
- Advanced Computer Communications
- 315 Bollay Drive
- Santa Barbara, California, 93111
-
- EMail: fbaker@acc.com
-
-
- Author's Address
-
- Questions about this memo can also be directed to:
-
- Thomas J. Dimitri
- Microsoft Corporation
- 1 Microsoft Way
- Redmond, WA 98052
-
- EMail: tommyd@microsoft.com
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Dimitri expires in six months [Page 13]
- DRAFT NBFCP October 1993
-
-
- Table of Contents
-
-
- 1. Introduction .......................................... 1
- 1.1 Specification of Requirements ................... 1
- 1.2 Terminology ..................................... 2
-
- 2. A PPP Network Control Protocol for NBF ................ 2
- 2.1 Sending NBF Datagrams ........................... 3
-
- 3. NBFCP Configuration Options ........................... 5
- 3.1 Name-Projection.................................. 5
- 3.2 Peer-Information................................. 7
- 3.3 Multicast-Filtering.............................. 9
-
- SECURITY CONSIDERATIONS ...................................... 12
-
- REFERENCES ................................................... 12
-
- ACKNOWLEDGEMENTS ............................................. 12
-
- CHAIR'S ADDRESS .............................................. 13
-
- AUTHOR'S ADDRESS ............................................. 13
-
-
-
-
-